/// 字符内建的常用方法示例
pub fn start() {
    // 用于判断给定字符是否属于某个进制形式。
    // 如果参数为10，则判断是否为十进制形式。
    // 'Digit' is defined to be only the following characters:
    // 0-9
    // a-z
    // A-Z
    // Panics if given a radix larger than 36.
    println!("{}", 'f'.is_digit(16)); // true
    println!("{}", 'f'.is_digit(10)); // false
    println!("{}", '8'.is_digit(8)); // false

    // 用于判断给定字符是否为小写的。作用于 Unicode 字符集中具有 Lowercase 属性的字符 。
    println!("{}", 'a'.is_lowercase()); // true
                                        // 用于判断给定字符是否为大写的。作用于 Unicode 字符集中具有 Uppercase 属性的字符。
    println!("{}", 'a'.is_uppercase()); // false

    // 用于将给定字符转换为小写的。作用于 Unicode 字符集中具有 Lowercase 属性的字符。
    println!("{}", 'A'.to_lowercase()); // a
                                        // 用于将给定字符转换为大写的。作用于 Unicode字符集中具有 Uppercase 属性的字符。
    println!("{}", 'a'.to_uppercase()); // A

    // 用于判断给定字符(或十六进制形式的码点〉是否为空格字符
    println!("{}", ' '.is_whitespace()); // true
    println!("{}", '\n'.is_whitespace()); // true
    println!("{}", '\t'.is_whitespace()); // true
    println!("{}", '\r'.is_whitespace()); // true
    println!("{}", 'A'.is_whitespace()); // false

    // 用于判断给定字符是否为字碍。汉字 也算是字母
    // 如果该字符具有字母属性则返回true。
    // 字母在Unicode标准的第4章(字符属性)中描述，并在Unicode字符数据库DerivedCoreProperties.txt中指定。
    // let c = '💝';
    // love is many things, but it is not alphabetic
    // assert!(!c.is_alphabetic()); false
    println!("{}", 'A'.is_alphabetic()); // true
    println!("{}", '测'.is_alphabetic()); // true

    // 用于判断给定字符是否为 字母、数字。
    println!("{}", 'A'.is_alphanumeric()); // true
    println!("{}", '测'.is_alphanumeric()); // true
    println!("{}", '3'.is_alphanumeric()); // true

    // 用于判断给定字符是否为控制符
    println!("{}", 'a'.is_control()); // false
    println!("{}", '\n'.is_whitespace()); // true
    println!("{}", '\t'.is_whitespace()); // true
    println!("{}", '\r'.is_whitespace()); // true

    // 判断是否为数字
    println!("{}", 'a'.is_numeric()); // false
    println!("{}", '\n'.is_numeric()); // false
    println!("{}", '3'.is_numeric()); // false

    // 用于转义\t、\r、 \n、单引号 、 双引号、反斜杠等特殊符号
    println!("{}", '\r'.escape_default()); // \r
    println!("{}", '\n'.escape_default()); // \n
}
